package com.car.loan.project.xr.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.car.loan.project.xr.util.bo.business.report.AuditInfoBo;
import com.car.loan.project.xr.util.bo.business.report.BusinessStatisticsBo;
import com.car.loan.project.xr.util.bo.business.report.ContractAgingBo;
import com.car.loan.project.xr.util.bo.business.report.ContractInfoBo;
import com.car.loan.project.xr.util.bo.business.report.LicenseAgingBo;
import com.car.loan.project.xr.util.bo.business.report.PaymentInfoBo;
import com.car.loan.project.xr.util.bo.business.report.RepaymentInfoBo;
import com.car.loan.project.xr.util.bo.business.report.SettleInfoBo;
import com.car.loan.project.xr.util.vo.report.AuditInfoVo;
import com.car.loan.project.xr.util.vo.report.BusinessStatisticsAmountVo;
import com.car.loan.project.xr.util.vo.report.BusinessStatisticsVo;
import com.car.loan.project.xr.util.vo.report.ContractAgingVo;
import com.car.loan.project.xr.util.vo.report.ContractInfoVo;
import com.car.loan.project.xr.util.vo.report.LicenseAgingVo;
import com.car.loan.project.xr.util.vo.report.PaymentInfoVo;
import com.car.loan.project.xr.util.vo.report.RepaymentInfoVo;
import com.car.loan.project.xr.util.vo.report.SettleInfoVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * @author huangding
 * @date 2020/2/19 11:42
 */
@Repository
public interface ReportMapper {

    Page<BusinessStatisticsVo> selectBusinessStatistics(Page page, @Param("businessStatistics")
        BusinessStatisticsBo businessStatistics);


    BusinessStatisticsAmountVo selectBusinessStatisticsAmount(@Param("businessStatistics")
        BusinessStatisticsBo businessStatistics);

    Page<AuditInfoVo> selectAuditInfoVoPage(Page page, @Param("businessStatistics")
        AuditInfoBo auditInfoBo);

    Page<ContractAgingVo> selectContractAgingVoPage(Page page, @Param("contractAgingBo")
        ContractAgingBo contractAgingBo);

    Page<ContractInfoVo> selectContractInfoVoPage(Page page, @Param("businessStatistics")
        ContractInfoBo contractAgingBo);

    Page<LicenseAgingVo> selectLicenseAgingVoPage(Page page, @Param("licenseAgingBo")
        LicenseAgingBo licenseAgingBo);

    Page<PaymentInfoVo> selectPaymentInfoVoPage(Page page, @Param("businessStatistics")
        PaymentInfoBo paymentInfoBo);


    Page<SettleInfoVo> selectSettleInfoVoPage(Page page, @Param("settleInfo")
        SettleInfoBo settleInfoBo);

    Page<RepaymentInfoVo> selectRepaymentInfoVoPage(Page page,
        @Param("businessStatistics") RepaymentInfoBo repaymentInfoBo);
}
